package ejemplos.socket.sumador;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * La clase Servidor es el socketServer que espera a que el cliente se conecte
 * repite todo lo que le manda el emisor.
 * 
 * @author ger
 * 
 */
public class Servidor {

	public static void main(String[] args) {
		ServerSocket serv = null;
		Socket cliente = null;
		try {
			serv = new ServerSocket(5557);
			System.out.println("Esperando cliente/s");
			cliente = serv.accept();
			DataInputStream entrada = new DataInputStream(cliente
					.getInputStream());
			DataOutputStream salida = new DataOutputStream(cliente
					.getOutputStream());
			while (cliente.getKeepAlive()) {
				String linea = entrada.readUTF();
				salida.writeUTF(linea);
			}
		} catch (IOException e) {
			System.out.println("Error de I/O. Cerrando conexiones..");
		} finally {
			try {
				if (serv != null)
					serv.close();
				if (cliente != null)
					cliente.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
